package com.yanqu.road.dao.dbV2;

import com.fasterxml.jackson.core.type.TypeReference;
import com.yanqu.road.dao.dbV2.serializer.Serializer;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Type;

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface IField {

    //是否主键，如果多个，则为联合主键
    boolean isPrimaryKey() default false;

    //更新时候用到的字段名字，可设多个
    boolean isUpdateKey() default false;

    boolean isAutoIncrement() default false;

    String index() default "";

    //存储和读取的序列化方法，每一个字段都需要这个，序列化方法可以自已自定议
    Class<? extends Serializer> serializer();

    String fieldName() default "";

    String comment() default "";
}
